<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>zdma: xzdma_linkedlist_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">zdma
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xzdma__linkedlist__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">xzdma_linkedlist_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains the example using <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> driver to do data transfer in Linked list mode on ZDMA device. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who     Date     Changes
</p>
<hr/>
<p>
1.0   vns     2/27/15  First release
      ms      04/05/17 Modified comment lines notation in functions to
                       avoid unnecessary description to get displayed
                       while generating doxygen.
1.3   mus    08/14/17  Do not perform cache operations if CCI is enabled
1.4   adk    11/02/17  Updated example to fix compilation errors for IAR
                 compiler.
1.7   adk    21/03/19  Fix alignment pragmas in the example for IAR compiler.
1.13  asa    08/24/21  Make changes to add a missing data invalidation
                       operation just before the destination buffer data is
                       being read. Along with the changes were done to ensure
                       proper sizes for linked list buffers.
                       Changes were done to allocate Src1Buf and Dst1Buf
                       properly.
                       Changes were done for other cleanups and also to
                       ensure that the DMA is reset before the program exits.
1.16  sa     09/29/22  Fix infinite loops in the example.
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac9ee5466315bffe06cf3bcfc881c3792"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#ac9ee5466315bffe06cf3bcfc881c3792">ZDMA_INTC_DEVICE_ID</a>&#160;&#160;&#160;XPAR_SCUGIC_SINGLE_DEVICE_ID</td></tr>
<tr class="memdesc:ac9ee5466315bffe06cf3bcfc881c3792"><td class="mdescLeft">&#160;</td><td class="mdescRight">SCUGIC Device ID.  <a href="#ac9ee5466315bffe06cf3bcfc881c3792">More...</a><br/></td></tr>
<tr class="separator:ac9ee5466315bffe06cf3bcfc881c3792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80bbbb5d429ca6bd067fe2e4bdb95725"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#a80bbbb5d429ca6bd067fe2e4bdb95725">ZDMA_INTR_DEVICE_ID</a>&#160;&#160;&#160;XPAR_XADMAPS_0_INTR</td></tr>
<tr class="memdesc:a80bbbb5d429ca6bd067fe2e4bdb95725"><td class="mdescLeft">&#160;</td><td class="mdescRight">ZDMA Interrupt Id.  <a href="#a80bbbb5d429ca6bd067fe2e4bdb95725">More...</a><br/></td></tr>
<tr class="separator:a80bbbb5d429ca6bd067fe2e4bdb95725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaf6a77833a7088acd6ba18d7466ac59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#adaf6a77833a7088acd6ba18d7466ac59">TESTDATA1</a>&#160;&#160;&#160;0xABCD1230</td></tr>
<tr class="memdesc:adaf6a77833a7088acd6ba18d7466ac59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test data.  <a href="#adaf6a77833a7088acd6ba18d7466ac59">More...</a><br/></td></tr>
<tr class="separator:adaf6a77833a7088acd6ba18d7466ac59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32bbf61a3a6cafc997ccb8f449ba8f4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#a32bbf61a3a6cafc997ccb8f449ba8f4c">TESTDATA2</a>&#160;&#160;&#160;0x00005000</td></tr>
<tr class="memdesc:a32bbf61a3a6cafc997ccb8f449ba8f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test data.  <a href="#a32bbf61a3a6cafc997ccb8f449ba8f4c">More...</a><br/></td></tr>
<tr class="separator:a32bbf61a3a6cafc997ccb8f449ba8f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f7e0ad629a49b8dff44f18c6b619894"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#a0f7e0ad629a49b8dff44f18c6b619894">DESCRIPTOR1_DATA_SIZE</a>&#160;&#160;&#160;1024</td></tr>
<tr class="memdesc:a0f7e0ad629a49b8dff44f18c6b619894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor 1 data in bytes.  <a href="#a0f7e0ad629a49b8dff44f18c6b619894">More...</a><br/></td></tr>
<tr class="separator:a0f7e0ad629a49b8dff44f18c6b619894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa58f5673b91b450cecc469e684f9304f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#aa58f5673b91b450cecc469e684f9304f">DESCRIPTOR2_DATA_SIZE</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:aa58f5673b91b450cecc469e684f9304f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptor 2 data in bytes.  <a href="#aa58f5673b91b450cecc469e684f9304f">More...</a><br/></td></tr>
<tr class="separator:aa58f5673b91b450cecc469e684f9304f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4760deea4e054235c55a504187d96988"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:a4760deea4e054235c55a504187d96988"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function does a test of the data transfer in linked mode on the ZDMA driver.  <a href="#a4760deea4e054235c55a504187d96988">More...</a><br/></td></tr>
<tr class="separator:a4760deea4e054235c55a504187d96988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function to call the example.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a7e9d669b081d5a33d1deada2d6f07a63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_z_dma.html">XZDma</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#a7e9d669b081d5a33d1deada2d6f07a63">ZDma</a></td></tr>
<tr class="memdesc:a7e9d669b081d5a33d1deada2d6f07a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instance of the ZDMA Device.  <a href="#a7e9d669b081d5a33d1deada2d6f07a63">More...</a><br/></td></tr>
<tr class="separator:a7e9d669b081d5a33d1deada2d6f07a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac9b9dd3f01c78843949f1b0dd37b80c"><td class="memItemLeft" align="right" valign="top">XScuGic&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma__linkedlist__example_8c.html#aac9b9dd3f01c78843949f1b0dd37b80c">Intc</a></td></tr>
<tr class="memdesc:aac9b9dd3f01c78843949f1b0dd37b80c"><td class="mdescLeft">&#160;</td><td class="mdescRight">XIntc Instance.  <a href="#aac9b9dd3f01c78843949f1b0dd37b80c">More...</a><br/></td></tr>
<tr class="separator:aac9b9dd3f01c78843949f1b0dd37b80c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a0f7e0ad629a49b8dff44f18c6b619894"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DESCRIPTOR1_DATA_SIZE&#160;&#160;&#160;1024</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Descriptor 1 data in bytes. </p>

<p>Referenced by <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>.</p>

</div>
</div>
<a class="anchor" id="aa58f5673b91b450cecc469e684f9304f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DESCRIPTOR2_DATA_SIZE&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Descriptor 2 data in bytes. </p>

<p>Referenced by <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>.</p>

</div>
</div>
<a class="anchor" id="adaf6a77833a7088acd6ba18d7466ac59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TESTDATA1&#160;&#160;&#160;0xABCD1230</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test data. </p>

<p>Referenced by <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a32bbf61a3a6cafc997ccb8f449ba8f4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TESTDATA2&#160;&#160;&#160;0x00005000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test data. </p>

<p>Referenced by <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ac9ee5466315bffe06cf3bcfc881c3792"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ZDMA_INTC_DEVICE_ID&#160;&#160;&#160;XPAR_SCUGIC_SINGLE_DEVICE_ID</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SCUGIC Device ID. </p>

</div>
</div>
<a class="anchor" id="a80bbbb5d429ca6bd067fe2e4bdb95725"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ZDMA_INTR_DEVICE_ID&#160;&#160;&#160;XPAR_XADMAPS_0_INTR</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ZDMA Interrupt Id. </p>

<p>Referenced by <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main function to call the example. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if failed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a4760deea4e054235c55a504187d96988"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XZDma_LinkedListExample </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function does a test of the data transfer in linked mode on the ZDMA driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the XPAR_&lt;ZDMA Instance&gt;_DEVICE_ID value from xparameters.h.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if failed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_z_dma___config.html#a9be2f556ef1ee02397fb358f06aa5366">XZDma_Config::BaseAddress</a>, <a class="el" href="xzdma__linkedlist__example_8c.html#a0f7e0ad629a49b8dff44f18c6b619894">DESCRIPTOR1_DATA_SIZE</a>, <a class="el" href="xzdma__linkedlist__example_8c.html#aa58f5673b91b450cecc469e684f9304f">DESCRIPTOR2_DATA_SIZE</a>, <a class="el" href="struct_x_z_dma___transfer.html#a58c7a594323c25396fcf6e234dc6c11a">XZDma_Transfer::DstAddr</a>, <a class="el" href="struct_x_z_dma___data_config.html#af222d9922f6197ac0cd076e9c7dbc31a">XZDma_DataConfig::DstCache</a>, <a class="el" href="struct_x_z_dma___transfer.html#aaf0d133df3120caf3c40e6dc7d7685fb">XZDma_Transfer::DstCoherent</a>, <a class="el" href="xzdma__linear__example_8c.html#aac9b9dd3f01c78843949f1b0dd37b80c">Intc</a>, <a class="el" href="struct_x_z_dma___config.html#aa863829cef07a315b0beec01251918e1">XZDma_Config::IsCacheCoherent</a>, <a class="el" href="struct_x_z_dma___data_config.html#af6657e43d38da393e1676477d81449b7">XZDma_DataConfig::OverFetch</a>, <a class="el" href="struct_x_z_dma___transfer.html#a63c6d6be1dec3e2b2520c96a3f5be3d6">XZDma_Transfer::Pause</a>, <a class="el" href="struct_x_z_dma___transfer.html#a7303e49ce16dc93c4dc80cf1502e7c06">XZDma_Transfer::Size</a>, <a class="el" href="struct_x_z_dma___transfer.html#ab626fca02248c80daf58098a181ca3ac">XZDma_Transfer::SrcAddr</a>, <a class="el" href="xzdma__readonlymode__example_8c.html#a1faa3106f2a310d875c91f00f93a7c1d">SrcBuf</a>, <a class="el" href="struct_x_z_dma___data_config.html#aad59bcf9b6125e7b663e4c824a0d5349">XZDma_DataConfig::SrcCache</a>, <a class="el" href="struct_x_z_dma___transfer.html#a7ccda9fdafdc8f2a411787b440ee6e5b">XZDma_Transfer::SrcCoherent</a>, <a class="el" href="xzdma__linkedlist__example_8c.html#adaf6a77833a7088acd6ba18d7466ac59">TESTDATA1</a>, <a class="el" href="xzdma__linkedlist__example_8c.html#a32bbf61a3a6cafc997ccb8f449ba8f4c">TESTDATA2</a>, <a class="el" href="group__zdma.html#gad882e6d7430871e5b71643c8be2512d5">XZDma_CfgInitialize()</a>, <a class="el" href="group__zdma.html#ga4f701b228ebc77f96faaba09cd9c63db">XZDma_CreateBDList()</a>, <a class="el" href="xzdma_8h.html#aaf5bc66296248406b7fa1a85e736e7f5">XZDma_DisableIntr</a>, <a class="el" href="xzdma_8h.html#a3c45d0b9b9dbbc8f696d76c821f21368">XZDma_EnableIntr</a>, <a class="el" href="group__zdma.html#gacdca22a1e7cd74b3f2acbfec3f0509f4">XZDma_GetChDataConfig()</a>, <a class="el" href="group__zdma.html#gga37a3c751884020089469a54e242ff4cdaaffcfeb2b42f83e2654e1d58d609f0ab">XZDMA_HANDLER_DONE</a>, <a class="el" href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">XZDma_IntrHandler()</a>, <a class="el" href="group__zdma.html#ga3427b844ce3c78c2e203cbe632ce8d11">XZDMA_IXR_DMA_DONE_MASK</a>, <a class="el" href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013ac4b925288997818ea5ce2be83f8cbfba">XZDMA_LINKEDLIST</a>, <a class="el" href="group__zdma.html#ga1f24016eafb7226d1f8754082a24d95d">XZDma_LookupConfig()</a>, <a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92acfd0a78e43b38febc3d4985a8b62efa5">XZDMA_NORMAL_MODE</a>, <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>, <a class="el" href="group__zdma.html#ga166edb355a4395294e7910c68f4840ca">XZDma_SelfTest()</a>, <a class="el" href="group__zdma.html#ga78a9c500b9c87963f7695fc5edf87a21">XZDma_SetCallBack()</a>, <a class="el" href="group__zdma.html#ga9f83e94a6ecae10b6bff851d76ffef24">XZDma_SetChDataConfig()</a>, <a class="el" href="group__zdma.html#gaf1772f190fe0a67a17c78f5f23fc8024">XZDma_SetMode()</a>, <a class="el" href="group__zdma.html#ga70f7466e97aae2126181727774f6e6bb">XZDma_Start()</a>, and <a class="el" href="xzdma__linkedlist__example_8c.html#a80bbbb5d429ca6bd067fe2e4bdb95725">ZDMA_INTR_DEVICE_ID</a>.</p>

<p>Referenced by <a class="el" href="xzdma__linkedlist__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="aac9b9dd3f01c78843949f1b0dd37b80c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XScuGic Intc</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>XIntc Instance. </p>

</div>
</div>
<a class="anchor" id="a7e9d669b081d5a33d1deada2d6f07a63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_z_dma.html">XZDma</a> ZDma</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Instance of the ZDMA Device. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
